Function range_duplicate_removal(range_data As Range, Optional ByVal sign As String = "、")

Dim nameArr, strDic
Dim nameStr As String
Set strDic = CreateObject("Scripting.Dictionary")

For Each r_str In range_data
    If r_str.Value <> "" Then
    nameStr = nameStr + r_str.Value + sign
    End If
Next

nameStr = Replace(nameStr, " ", "")

nameStr = Left(nameStr, Len(nameStr) - 1)

nameArr = Split(nameStr, sign)

For Each strItem In nameArr
    strDic.Item(strItem) = strItem
Next

nameStr = ""

For Each Key In strDic
  nameStr = nameStr + strDic(Key) + sign
Next

nameStr = Left(nameStr, Len(nameStr) - 1)

range_duplicate_removal = nameStr

End Function
